package chunmap.raster.gmap;

import java.awt.Image;
import java.io.IOException;

import chunmap.model.coord.Position;
import chunmap.raster.Tile;
import chunmap.util.image.ImageUtil;

public class StaticGMConn extends GMConnection {
	public Image getImage(GMTile tile_) {
		Tile tile = (tile_.proxy == null) ? tile_ : tile_.proxy;

		String name = tile.toString();
		Image image = cache.find(name);
		if (image != null)
			return image;

		Position p=tile.getEnvelop().getCenter();
//		Mercator proj=new Mercator();
//		p=proj.getReverseTransform().convert(p);
		
		String url = getString(p.getX(),p.getY(), tile.z);
		try {
			Image tm = request(url);
			image=ImageUtil.imageCopy(tm, 0, 0, GoogleMapCode.tileSize, GoogleMapCode.tileSize);
			
		} catch (IOException exp) {
			// return Resources.chun;
			// TODO
			return null;
		}

		cache.save(image, name);
		return image;
	}

	private String getString(double x, double y, int z) {
		String url="http://ditu.google.cn/staticmap?center="+y+","+x+"&zoom="+z
		+"&size=256x285&maptype="+maptype+"&key="+key+"&sensor=true_or_false";
		
		System.out.println(url);
		return url;
	}
	public String key="MAPS_API_KEY";
	public String maptype="satellite";
}
